package tech.wenxu.ssoprovider.common;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @author zhaowenxu
 * @date 2020/4/13 15:27
 */
@Data
@Accessors(chain = true)
public class SysResult<T> {

    /**
     * 响应业务状态
     * 200 成功
     * 201 错误
     * 400 参数错误
     */
    private Integer status;

    /**
     * 响应消息
     */
    private String msg;

    /**
     * 响应中的数据
     */
    private T data;

    /**
     * 成功返回
     * @param data 数据
     */
    public static <T> SysResult<T> ok(T data) {
        return new SysResult<T>().setStatus(200).setMsg("操作成功").setData(data);
    }

    /**
     * 失败返回
     */
    public static <T> SysResult<T> err(String message) {
        return new SysResult<T>().setStatus(201).setMsg(message);
    }

}
